home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / c_toolbx.arc / TESTSWI.C < prev    next >
Encoding:
C/C++ Source or Header  |  1988-03-30  |  1.3 KB  |  52 lines

  1. /* testswi.c - test swint function */
  2. #include   "stdio.h"
  3. #include   "cminor.h"
  4. #include   "asmtools.h"
  5.  
  6. int  swint() ;
  7.  
  8. main()
  9.   {
  10.      unsigned ret , int_no ;
  11.      REGS  sreg , dreg ;
  12.  
  13.      printf("\n testing swint \n") ;
  14.      showadr("swint",swint) ;
  15.      printf("\n & sreg = %x   & dreg = %x \n",& sreg,& dreg) ;
  16.  
  17.      printf("\n int_no  (HEX): \n") ;
  18.      scanf ("%X",&int_no) ;
  19.      getregs("input regs. ",&sreg) ;
  20.      gerregs("return regs. ",&dreg) ;
  21.      ret = swint(int_no,&sreg,&dreg) ;
  22.      printf("\n swint returns - %X \n",ret) ;
  23.      prtregs("input regs. ",&sreg) ;
  24.      prtregs("return regs. ",&dreg) ;
  25.      dispflag(ret) ;
  26.   }
  27.  
  28.  
  29. int  prtregs(name,p)
  30.   char    name[] ;
  31.   REGS    *p ;
  32.   {
  33.      printf(" %s values \n",name) ;
  34.      printf(" ax bx cx dx  %X %X %X %X \n",p->ax,p->bx,p->cx,p->dx) ;
  35.      printf(" si di bp sp  %X %X %X %X \n",p->si,p->di,p->bp,p->sp) ;
  36.      printf(" ds es ss cs  %X %X %X %X \n",p->ds,p->es,p->ss,p->cs) ;
  37.   }
  38.  
  39.  
  40. int  getregs(name,p)
  41.   char    name[] ;
  42.   REGS    *p ;
  43.   {
  44.      printf(" enter %s values ax bx cx dx si di bp sp ds es ss cs \n",
  45.     name) ;
  46.      scanf("%x %x %x %x",& p->ax,& p->bx,& p->cx,& p->dx) ;
  47.      scanf("%x %x %x %x",& p->si,& p->di,& p->bp,& p->sp) ;
  48.      scanf("%x %x %x %x",& p->ds,& p->es,& p->ss,& p->cs) ;
  49.   }
  50.  
  51.  
  52.